package com.molichuxing.gateway.bff.financial.entity.response;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.molichuxing.framework.dto.ResponseRootDto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 收款
 * </p>
 *
 * @author zhaopenghui
 * @since 2019-08-31
 */
@Data
public class ReceiptVo extends ResponseRootDto {
    private static final long serialVersionUID = 6839753636937305973L;

    @ApiModelProperty(value = "支付单id")
    private Integer paymentId;

    @ApiModelProperty(value = "用户id")
    private Integer userId;

    @ApiModelProperty(value = "用户账号")
    private String userName;

    @ApiModelProperty(value = "用户姓名")
    private String realName;

    @ApiModelProperty(value = "联系方式")
    private String phone;

    @ApiModelProperty(value = "身份证号")
    private String idNumber;

    @ApiModelProperty(value = "订单编号")
    private Long orderCode;
    
    @ApiModelProperty(value = "排期id", hidden = true)
	private Integer scheduleId;

    @ApiModelProperty(value = "支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，14：智能终端-密码键盘，21：微信-H5， 22：微信-APP，23：微信-公众号，24：微信-扫码，25：微信-小程序，31：支付宝-H5，32：支付宝-APP，41: 线下支付，51：银联-H5，52：银联-APP) ")
    private Integer payWay;

    @ApiModelProperty(value = "支付方式Str")
    private String payWayStr;

    @ApiModelProperty(value = "收款金额")
    private BigDecimal feeTotal;

    @ApiModelProperty(value = "付款时间")
    private LocalDateTime timeStart;

    @ApiModelProperty(value = "支付类型（1：订购，3：加购，4：结算）")
    private Integer payType;

    @ApiModelProperty(value = "支付类型Str")
    private String payTypeStr;

    @ApiModelProperty(value = "付款流水号")
    private String thirdPayNumber;

    @ApiModelProperty(value = "付款周期")
    private String repaymentPeriod;

    @ApiModelProperty(value = "商品品类（1：订阅里程，2：专属里程）")
    private Integer businessType;

    @ApiModelProperty(value = "商品品类Str")
    private String businessTypeStr;

    @ApiModelProperty(value = "经销商id")
    private Integer dealerId;

    @ApiModelProperty(value = "经销商名称")
    private String dealerShortName;

    @ApiModelProperty(value = "付款方")
    private String payName;

    @ApiModelProperty(value = "付款方账号")
    private String payBankAccount;

    @ApiModelProperty(value = "付款方式(1:全款，2：分期)")
    private Integer paymentMethod;

    @ApiModelProperty(value = "订单状态")
    private Integer orderStatus;
}
